Apollo问答丨Apollo笛卡尔坐标系转Frenet坐标系的函数如何理解?
自Apollo开发者社区小程序上线以来,我们每一天都会在「社区问答」板块收到许多开发者的技术提问。
每周,可爱的Apollo小姐姐都会精选出被采纳的社区问答进行整理汇总,并统一对大家进行答复。
让我们一起看看本周的精选问答吧~~若你有更好的回答或建议,欢迎留言或加入开发者交流社群一起讨论分享!各位技术大牛也可以到小程序回答问题获得相应积分,参加社区布道师评选。
以下,ENJOY
Apollo笛卡尔坐标系转换成Frenet坐标系函数里这段代码的数学公式依据是什么?
笛卡尔坐标系是大地切平面投影,轨迹坐标由S={(X(t),Y(t),Z(t)) , t = ... }表示;Frenet坐标系,把轨迹转换成单参数曲线 (s, d, T, N) 其中s是弧长参数。因为你在曲折的公路上,其实只需要考虑,从起点到现在,你走了多远;你离中心有多远,每一个单独的点,有一个数值向量,和法向量。
按这个理解即可,因为实际计算曲率,切向量为了维持很高的精度,比较复杂。如果没有学过微分几何,不建议按上面公式去理解,没有意义。而且(s,d,T,N)有一个好处,这里假定道路倾度为0,你可以把一条弯弯曲曲的道路,在转换成直角坐标系下S-D曲线,T,N 有很多种做法,T= (X(n) -X(n-1), Y(n)-Y(n-1)), N=(Ty, -Tx) 在精度要求不高的情况下,都可以来近似,不用管上面的实现,不同精度需求下的实现方式差别很大。
运行bash gps.sh后,cyber_monitor中没有best_pose和imu,这个怎么排查呢?
查看代码有没有以下问题:
1.脚本启动的时候报错没有
2.没错误信息就看脚本代码
接着看下gnss的代码,后面有参数,没有的话需要加参数:bash gps.sh start。
Apollo ROS为什么要迁移到Apollo Cyber RT?
在3.5本发布之前 很多开发者在ROS基础上搭建Apollo,而3.5之后Apollo研发了计算框架Cyber RT ,可以更快更安全运行所有模块,用之前版本的开发者想用Cyber RT的话就需要迁移。
做辅助驾驶时,比如车道保持功能,是通过CAN总线给汽车发送周期性的方向盘控制命令吗?会不会跟司机本身控制方向盘的命令冲突呢?
是的,CAN发送周期性报文控制方向盘;如果驾驶员对方向盘干预,控制力矩会做衰减,大于一定的值或速度值,功能会被抑制。
自社区推出问答积分赛活动以来,Apollo小哥哥每天在社区交流群中分享开发者的提问,并收到了很多热心的解答,大家互帮互助的精神非常赞!
为了奖励为社区作出贡献的开发者,Apollo小哥哥每周将选出积分榜第一名,送出Apollo定制周边一份~
本周积分榜前10名新鲜出炉,快看看自己有没有上榜吧,第一名记得找小哥哥领奖哦~
开发者在使用Apollo平台过程中,如果遇到任何的技术难题,都可以在社区小程序或开发者交流群寻求大神的解答,欢迎大家积极交流!